package co.com.inventarios.utils;

import java.lang.reflect.Method;  
import java.util.Collections;  
import java.util.Comparator;  
import java.util.List;  


public class Utilidades {

	public String Completar_Cadena(String Cadena, String Caracter, int Numero) {
		int tam = 0, diff = 0;
		String cadena_c = Cadena;

		if (Cadena.length() < Numero) {
			tam = Cadena.length();
			diff = Numero - tam;

			while (diff > 0) {

				cadena_c = cadena_c + Caracter;

				diff--;

			}
		} else {
			cadena_c = Cadena;
		}

		return cadena_c;
	}

	public String Importar_Archivotxt(String Cadena, String Caracter, int Numero) {
		int tam = 0, diff = 0;
		String cadena_c = Cadena;

		if (Cadena.length() < Numero) {
			tam = Cadena.length();
			diff = Numero - tam;

			while (diff > 0) {

				cadena_c = cadena_c + Caracter;

				diff--;

			}
		} else {
			cadena_c = Cadena;
		}

		return cadena_c;
	}

	public void Carga_txt(String doc) {
		String[] busqueda = {"NOMBRE","APELLIDO"}; 
		String[] reemplazo = {"FERNANDO","ARTURI"}; 
		StringBuffer text ;
		FileManager fm = new FileManager(); 
		text = fm.readFile("C:\\archivo.txt");
		System.out.print("eeeeeee"+text);
		//String resultado = fm.replaceValues("D:\\myFiles\\prueba.txt", busqueda, reemplazo); 
	}



	
	public static void ordena(List lista, final String propiedad) {  
		  Collections.sort(lista, new Comparator() {  
		     
		   public int compare(Object obj1, Object obj2) {  
		      
		    Class clase = obj1.getClass();  
		    String getter = "get" + Character.toUpperCase(propiedad.charAt(0)) + propiedad.substring(1);  
		    try {  
		     Method getPropiedad = clase.getMethod(getter);  
		   
		     Object propiedad1 = getPropiedad.invoke(obj1);  
		     Object propiedad2 = getPropiedad.invoke(obj2);  
		       
		     if(propiedad1 instanceof Comparable && propiedad2 instanceof Comparable) {  
		      Comparable prop1 = (Comparable)propiedad1;  
		      Comparable prop2 = (Comparable)propiedad2;  
		      return prop1.compareTo(prop2);  
		     }//CASO DE QUE NO SEA COMPARABLE  
		     else {  
		      if(propiedad1.equals(propiedad2))  
		       return 0;  
		      else  
		       return 1;  
		  
		     }  
		    
		    }  
		    catch(Exception e) {  
		     e.printStackTrace();  
		    }  
		    return 0;  
		   }  
		  });  
		 }  

	
	


}
